1. Field of the Invention
The present invention relates to a timing verification method for evaluating a variation in a timing characteristic of an integrated circuit due to a variation during manufacture when designing a semiconductor integrated circuit, particularly an LSI (Large Scale Integrated Circuit) or the like.
2. Description of the Related Art
In recent years, the size of transistors has been reduced with the development of LSI manufacturing technology, so that the packaging density of LSIs has been rapidly increased. Therefore, various functions can now be incorporated into, for example, a CMIS (Complementary Metal Insulator Semiconductor) semiconductor integrated circuit.
LSIs are designed to meet a specification of various circuit characteristics. Among other things, care is needed in designing the timing of a circuit. In general, when a signal is propagated in a circuit, a delay occurs in the propagation of the signal. The timing of the circuit is designed so that the propagation delay falls within a specified range. Typically, the signal timing is verified during design of the timing.
Timing verification is a technique of virtually reproducing timing characteristics (delay characteristics) of a circuit by computer software, and is widely used so as to, for example, confirm an operation during design of the circuit. Among other things, the software sold under the trademark PRIMETIME (Synopsys, Inc., USA) or the like is known as representative timing verification software. The timing verification software can evaluate timing characteristics of both a clock circuit and a circuit driven according to the clock circuit.
A circuit is designed so as to operate normally even when the circuit is affected by various factors of variation or fluctuation which have an influence on circuit characteristics of the circuit. There are various factors to be considered, including a variation and a fluctuation during manufacture. The manufacture variation occurs in, for example, process dimensions during a lithography step or a polishing step, a dopant density of a diffusion region, and the like. When the manufacture variation occurs, electrical characteristics of a transistor and an interconnect in a circuit vary, so that circuit characteristics of an LSI including the transistor and the interconnect also vary. Thus, as the size of devices is rapidly reduced, an influence of the manufacture variation on circuit characteristics is becoming more and more significant.
A clock signal is an important signal which synchronizes internal operations of an LSI. Delicate care is needed to design timing of a clock circuit which supplies the clock signal.
FIG. 14 illustrates an exemplary conventional clock tree circuit. A clock signal is supplied from an input terminal I via a plurality of circuit cells (buffers) C1, C2, . . . , and C7 (called a clock tree) to output terminals O1 to O4. Typically, the output terminals O1 to O4 are connected to flip-flop circuits FF1 to FF4. Delays occur in the clock signal until the clock signal reaches from the input terminal I to the output terminals O1 to O4, i.e., when the clock signal is passed through the circuit cells C1 to C7 and interconnections. A difference in delay between each of the output terminals O1 to O4 is a clock skew (hereinafter simply referred to as a skew).
FIG. 15 illustrates a conventional circuit connection configuration including a clock tree circuit, flip-flop circuits, and signal paths.
In timing verification, a relationship between the following expressions (1) and (2) is verified.Tpath(max)+Tskew+Tsetup≦Tcycle  (1)Tpath(min)−Tskew≧Thold  (2)
On a setup time side indicated with expression (1), it is verified for each signal path whether or not a value obtained by adding a maximum signal path delay Tpath(max), a skew Tskew, and a setup time Tsetup falls within a clock cycle Tcycle. This is herein referred to as “setup time margin verification”. Although a minimum signal path delay can be used on the setup time side, setup time margin verification which employs the maximum signal path delay, which generally tends to cause a problem, will be hereinafter described.
On a hold time side indicated with expression (2), it is verified for each signal path whether or not a value obtained by subtracting the skew Tskew from a minimum signal path delay Tpath(min) is greater than or equal to a hold time Thold. This is herein referred to as “hold time margin verification”. Although the maximum signal path delay can be used on the hold time side, hold time margin verification which employs the minimum signal path delay, which generally tends to cause a problem, will be hereinafter described. The setup time refers to a time required to determine a value of an input signal a predetermined time or more before time of an edge of a clock signal so that the flip-flop circuits FF1 to FF4 can take in the input signal in synchronization with the edge of the clock signal. The hold time refers to a time during which a value of an input signal does not vary, so as to hold the input signal, the time being a predetermined time or more from the time of the edge of the clock signal.
A large skew would cause a circuit to malfunction. Therefore, a tolerable skew range is set as a design margin, and verification of whether or not the tolerable range is satisfied is performed in a timing designing step during design. A delay value of a clock signal path is obtained for each clock output terminal, a difference between each of the obtained delays is calculated as a skew for each pair of clock output terminals, and it is confirmed whether or not the calculated skew falls within the tolerable range, i.e., a maximum skew falls within the tolerable range.
The skew varies due to a manufacture variation. The manufacture variation is roughly divided into an inter-chip variation component and an in-chip variation component. The skew is calculated as a difference between delays of two signal paths. Therefore, if a variation is assumed to be uniform in a chip, the inter-chip variation component has a small influence on a variation in the skew. In contrast to this, the in-chip variation (a.k.a. intra-chip or within-die variation) component in a chip causes different variations on two signal paths in the chip, resulting in an increase or decrease in the skew, and therefore, needs to be sufficiently considered during timing verification.
Therefore, assuming that there are no variations in delay, a delay is obtained for each path. A delay for each pair of paths is multiplied by a different coefficient to produce a skew, assuming an in-chip variation. The resultant skew is used for timing verification.
There are also known techniques described in JP 2967759 B (Patent Document 1) and International Publication WO2003/060776 (Patent Document 2) described below.
According to Patent Document 1, a skew of a clock tree circuit is obtained as follows. The tree is tracked back from clock output terminals toward upstream of the tree, to find a node where tree branches are merged. A skew is obtained from delay times from the node to clock output terminals, taking a manufacture variation into consideration. The skew is used for timing verification.
According to Patent Document 2, when a signal path delay is calculated, an effect that an in-chip variation is attenuated along a path is taken into consideration.
Note that not only the clock skew but also the signal path delay are affected by a manufacture variation. In this case, the signal path delay may be obtained by the following expressions (3) and (4).Tpath=Σ(ttyp·Kp)  (3)Tpath=Σ(tmax)  (4)
Expression (3) indicates a method for obtaining a maximum delay and a minimum delay on a signal path by obtaining delay elements ttyp of a circuit cell and an interconnect with the assumption that there is not a manufacture variation, and multiplying the delay elements by a coefficient Kp with the assumption of a manufacture variation.
Expression (4) indicates a method for obtaining a maximum signal path delay from the sum of maximum delay elements tmax which are previously obtained, taking a manufacture variation into consideration. A minimum signal path delay can also be similarly obtained.
Also, there is a known technique described in, for example, K. A. Bowman and J. D. Meindl, “Impact of Within-Die Parameter Fluctuations on Future Maximum Clock Frequency Distributions,” Custom Integrated Circuits Conference (2001) (Non-Patent Document). A chip typically includes a number of signal paths, and among other things, a critical path group having a small timing margin determines performance of the chip. According to the Non-Patent Document, the signal path delay is not handled in units of a path as in expressions (3) and (4), and the critical path group in a chip is handled, thereby statistically obtaining a maximum delay of the whole chip when an influence of an in-chip variation is taken into consideration.
However, the calculation method disclosed in Patent Document 1 includes the step of calculating a clock tree skew, taking an in-chip variation into consideration, but is an approximation method in which a delay is multiplied by a coefficient representing the in-chip variation. In this method, neither a delay on a clock signal path nor a skew after calculation is handled as a statistical amount. Therefore, the influence of a manufacture variation on a skew can be only limitedly evaluated. Also, a delay on a signal path other than the clock tree is not statistically handled. Since the manufacture variation is statistically represented, it is desirable that both the delay and the skew, which are affected by the manufacture variation, be appropriately handled as statistical amounts.
In Patent Document 2, although the effect that an in-chip variation is averaged and attenuated along a path is provided, a correlation relationship between path delays, which is important when a delay difference, such as a clock skew or the like, is considered, is not taken into consideration.
In the Non-Patent Document, although a technique of statistically and analytically obtaining a delay which represents a whole chip circuit including a plurality of signal paths, taking an in-chip variation into consideration, is described, a method in which a characteristic of a clock skew is taken into consideration as well is not described.
Thus, all of the above-described conventional methods disadvantageously have difficulty in achieving appropriate timing verification and a low level of reliability, though highly reliable timing verification is highly demanded.